Systems and methods for adjusting flight control of an unmanned aerial vehicle

ABSTRACT

A first pattern associated with a performer may be recognized based upon visual information. A sensor carried by an unmanned aerial vehicle may be configured to generate output signals conveying the visual information. A first distance may be determined between the first pattern and the unmanned aerial vehicle. A second pattern associated with a performee may be recognized based upon the visual information. A second distance may be determined between the second pattern and the unmanned aerial vehicle. Flight control may be adjusted based upon the first distance and the second distance. A flight control subsystem may be configured to provide the flight control for the unmanned aerial vehicle.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is a continuation of U.S. patent application Ser. No.15/807,399, filed Nov. 8, 2017, which is a continuation of U.S. patentapplication Ser. No. 15/264,216, filed on Sep. 13, 2016, now U.S. Pat.No. 9,817,394, which is a continuation of U.S. patent application Ser.No. 14/989,738, filed on Jan. 6, 2016, now U.S. Pat. No. 9,758,246, theentire disclosures of which are hereby incorporated by reference.

TECHNICAL FIELD

The disclosure relates to systems and methods for adjusting flightcontrol of an unmanned aerial vehicle.

BACKGROUND

Unmanned aerial vehicles, or UAVs, may be equipped with automated flightcontrol, remote flight control, programmable flight control, other typesof flight control, and/or combinations thereof. Some UAVs may includesensors, including but not limited to, image sensors configured tocapture image information. UAVs may be used to capture special moments,sporting events, concerts, etc. UAVs may be preconfigured withparticular flight control settings. The preconfigured flight controlsettings may not be individualized for what is being captured.Configuration may take place through manual manipulation by the user.Adjustment of flight control settings may impact various aspects ofimages and/or videos captured by the image sensors of the UAV.

SUMMARY

The disclosure relates to adjusting flight control of an unmanned aerialvehicle based upon distances between the UAV and objects being capturedby the UAV, in accordance with one or more implementations. Adjustmentof flight control may facilitate enhanced capture when two or moreobjects become coincident in space and time. By determining distancesbetween the UAV and the objects, the UAV may be controlled to be “inposition” for capture of the coincidence of the objects. The objects mayinclude a performer and a performee. By monitoring respective positionsand/or distances of the performer and the performee with respect to theUAV, the UAV may be controlled to be prepared for movement of theperformer and the performee toward each other for performance of theinteraction between the performer and the performee.

The system for adjusting flight control of the UAV may include one ormore of a housing, a flight control subsystem, one or more sensors, asensor control subsystem, a controller interface, one or more physicalprocessors, one or more computer program components, and/or othercomponents. An individual subsystem may include one or more sensors, oneor more physical processors, one or more computer program components,and/or other components.

Individual physical processors may be configured via computer-readableinstructions to provide information-processing capabilities and/orexecute computer program components. The computer program components mayinclude one or more of a pattern recognition component, a distancecomponent, a flight control component, a gesture recognition component,and/or other components.

The flight control subsystem may be configured to provide flight controlfor the UAV. By way of non-limiting example, the flight controlsubsystem may be configured to control one or more of an altitude, alongitude, a latitude, a geographical location, a heading, a speed ofthe UAV, and/or other flight controls. Operation of the flight controlsubsystem may be based upon flight control information. Flight controlinformation may be based upon information determined and/or obtained tocontrol the UAV. In some implementations, providing flight control mayinclude functions including, but not limited to, flying the UAV in astable manner, tracking people or objects, avoiding collisions, and/orother functions useful for autonomously flying unmanned aerial vehicles.In some implementations, flight control information may be transmittedby a remote controller. In some implementations, flight controlinformation may be received by the controller interface by the remotecontroller.

One or more sensors may be configured to generate output signalsconveying information. The information may include visual information,video information, audio information, geolocation information,orientation and/or motion information, depth information, and/or otherinformation. Information captured by the one or more sensors may bemarked, timestamped, annotated, and/or otherwise processed such thatinformation captured by other sensors (e.g., other sensors from the oneor more sensors of the UAV) may be synchronized, aligned, annotated,and/or otherwise associated therewith. In some implementations, theconveyed information may be related to one or more flight controlinformation of the UAV. In some implementations, the conveyedinformation may be related to sensor control information. In someimplementations, the conveyed information may be related to personsand/or objects near the UAV and/or the user.

The sensor control subsystem may be configured to control the one ormore sensors included within the UAV and/or other sensors. By way ofnon-limiting example, the sensor control subsystem may be configured tocontrol the one or more sensors through adjustments of one or more ofaperture timing, exposure, focal length, angle of view, depth of field,focus, light metering, white balance, resolution, frame rate, object offocus, capture angle, a zoom parameter, video format, a sound parameter,a compression parameter, and/or other sensor parameters. Operation ofthe sensor control subsystem may be based upon sensor controlinformation. Sensor control information may be based upon informationand/or parameters determined and/or obtained by the UAV and/orcomponents thereof In some implementations, sensor control informationmay be transmitted by a remote controller. In some implementations,sensor control information may be received by the controller interface.In some implementations, the sensor control subsystem may be configuredto control one or more image sensors such that the visual informationcaptured by the one or more image sensors may include an image of aparticular object or user.

The pattern recognition component may be configured to recognize a firstpattern associated with a performer based on the visual information. TheUAV, one of the processors included within the UAV, the remotecontroller, and/or other components configured to project a pattern maybe configured to project the pattern on the performer. The performer mayinclude a dynamic or moving object, person, place, and/or otherperformer. In some implementations, the pattern may be a visual pattern.For example, the pattern may include a barcode, a QR code, a target,and/or other patterns, and/or combinations thereof In someimplementations, the UAV, one of the processors included within the UAV,the remote controller, and/or other components configured to project thepattern may include and/or control a component configured to emitelectromagnetic radiation. The electromagnetic radiation may produce thepattern (e.g., a visual pattern). In some implementations, particularinformation (including but not limited to commands, requests, targets,goals, etc.) may be embedded in the pattern. For example, flight controlinformation and/or sensor control information may be entered, received,and/or confirmed through a user interface associated with the remotecontroller. This information may be converted to, embedded in, and/orotherwise processed into one or more patterns for projection.

The pattern recognition component may be configured to recognize asecond pattern associated with a performee based on the visualinformation. The pattern recognition component may be configured torecognize the second pattern associated with the performee in a similarmanner as discussed above. The first pattern and the second pattern maybe different patterns and may be distinguishable by the patternrecognition component 20. The performee may include a static ornon-moving object, person, place, and/or other performee. While theperformer has been described as dynamic or moving and the performee hasbeen described as static or non-moving, this is not meant to be alimitation of this disclosure, as the performer and the performee mayboth be dynamic (e.g., the performer and the performee may move atdifferent, the same, and/or varying speeds) or may both be static.

The performer and the performee may be associated with one another. Forexample, the performer may be a skier. The skier may be marked with thefirst pattern (e.g., the first pattern is projected on the skier and/orthe skier is wearing an identifying pattern). The skier may plan toperform a particular jump at or near the end of a ski slope. Theparticular location at or near the end of the ski slope where the skiermay be performing the particular jump may be marked with the secondpattern (e.g., the second pattern is projected at the location at ornear the end of the ski slope and/or the location may be marked with anidentifying pattern). In another example, a skateboarder may be markedwith the first pattern. The skateboarder may plan to perform aparticular trick at a location 50 yards from where the skateboarderbegins skateboarding. The location at which the skateboarder plans toperform the particular trick may be marked with the second pattern.

The distance component may be configured to determine a first distancebetween the first pattern and the unmanned aerial vehicle. The firstdistance may represent a distance between the first pattern (e.g., theperformer) and the UAV. For example, the distance component may beconfigured to determine an altitude of the UAV based upon one or moresensors (e.g., via an altimeter, an image sensor, a distance measurementsensor, etc.). Based upon the altimeter and/or other sensor/deviceconfigured to determine measurements of distance, the distance componentmay be configured to determine the first distance between the firstpattern and the unmanned aerial vehicle. The distance component may beconfigured to determine a second distance between the second pattern(e.g., the performee) and the unmanned aerial vehicle in a similarmanner as discussed above.

The flight control component may be configured to adjust the flightcontrol of the unmanned aerial vehicle based upon the first distance andthe second distance. The UAV may be configured to capture a videosegment including the performer and the performee within a single fieldof view of an image capturing device of the UAV. The UAV may beconfigured to maintain a particular distance from the second pattern(e.g., the performee) in preparation for the first pattern (e.g., theperformer) approaching the second pattern. The UAV may hover in alocation such that the performer and the performee may both besimultaneously captured within the field of view while the UAV 100remains closer to the second pattern than the first pattern (e.g., thesecond distance is less than the first distance). For example, patterns(e.g., the first pattern and the second pattern) may include informationembedded within them. The embedded information may include commands,requests, targets, and/or goals for the operation of the UAV, includingbut not limited to flight control information and/or sensor controlinformation. The flight control component may be configured to adjustthe flight control such that one or more of a target altitudedifferential, a target cardinal direction, and/or a target distance ismaintained between the unmanned aerial vehicle and the first patternbased upon the first distance and the second distance.

The gesture recognition component may be configured to recognize and/orinterpret gestures from the performer. In some implementations, gesturesmay be recognized and/or interpreted by capturing depth information thatincludes the performer and analyzing patterns, positions, and/ormovements of the performer, or parts of the body of the performer. Byway of non-limiting example, the gesture recognition component may beconfigured to determine and/or recognize one or more patterns,positions, and/or movements of the hands of the performer. In someimplementations, individual particular patterns, positions, and/ormovements of the hands of the performer may correspond to particularcommands and/or requests to the UAV to perform an action or operation.Performance of an action or operation by the UAV and/or componentsthereof may correspond to one or both of flight control information andsensor control information.

These and other objects, features, and characteristics of the systemand/or method disclosed herein, as well as the methods of operation andfunctions of the related elements of structure and the combination ofparts and economies of manufacture, will become more apparent uponconsideration of the following description and the appended claims withreference to the accompanying drawings, all of which form a part of thisspecification, wherein like reference numerals designate correspondingparts in the various figures. It is to be expressly understood, however,that the drawings are for the purpose of illustration and descriptiononly and are not intended as a definition of the limits of theinvention. As used in the specification and in the claims, the singularform of “a”, “an”, and “the” include plural referents unless the contextclearly dictates otherwise.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a system for adjusting flight control of an unmannedaerial vehicle, in accordance with one or more implementations.

FIG. 2 illustrates a scene including an unmanned aerial vehicle and auser, in accordance with one or more implementations.

FIGS. 3A-3B illustrate adjusting flight control of an unmanned aerialvehicle based upon a first pattern and a second pattern in accordancewith one or more implementations.

FIG. 4 illustrates a method for adjusting flight control of an unmannedaerial vehicle, in accordance with one or more implementations.

DETAILED DESCRIPTION

FIG. 1 schematically illustrates an unmanned aerial vehicle 100 (alsoreferred to as UAV 100), in particular a quadcopter. This quadcopter isan exemplary and non-limiting implementation of a UAV. The term“unmanned” may refer to the capability of the aerial vehicle to operatewithout requiring a human operator during a flight. At least someportion of the flight control may be provided remotely and/or by anautopilot (also referred to as a control system or a control subsystemor a flight control subsystem). In some implementations, UAVs may carrypassengers, cargo, sensors, and/or other physical objects. In someimplementations, UAVs may operate autonomously. Alternatively, and/orsimultaneously, in some implementations, at least some functionality ofUAVs may be controlled and/or modified through a remote control (e.g.,by a user) for at least some portion of a flight. For example, the usermay control and/or assist remotely in a particular maneuver, such as atake-off or landing.

UAVs may be a fixed wing aircraft, a helicopter, a multi-rotor aircraft(e.g. a quadcopter), a rotary wing aircraft, and/or another type ofaircraft. In some implementations, UAVs may combine features of multipletypes of aircraft. UAVs may include one or more components configured toprovide lift force. By way of a non-limiting example, the one or morecomponents providing lift force may include one or more wings, airfoils,propellers, rotors, rotor discs, and/or other components.

Autonomous operation and remote control operation may be provided duringthe same flight. By way of non-limiting example, the modes of operationof UAVs may include autonomous operation, remote control operation,combinations thereof, and/or other modes of operation. UAVs may havevarying degrees of autonomy.

A control system may provide one or more of stabilization control,navigation control, altitude control, propulsion control, enginecontrol, and/or other functions needed and/or used during operation ofUAVs, which may jointly be referred to as flight control. By way ofnon-limiting example, UAVs may be configured to provide one or more ofthe following functions: capture and/or interpret visual information,ground imagery, and/or surrounding imagery, capture and/or interpretsensor data (e.g. radar data), plan a path for UAVs, determine one ormore maneuvers to follow or maintain a particular path and/or other goalor target, to reach a particular destination, or to accomplish a goal ortarget, avoid obstacles and/or collisions, accommodate in-flightinstructions (e.g. from a user and/or a control tower or similarauthority), coordinate with external agents (e.g. other UAVs), and/orother functions.

In some implementations, UAVs may be controlled by a system thatsupports multiple modes of autonomous operation and/or multiple modes ofremote control operation.

As illustrated in FIG. 1, UAV 100 may include four rotors 102. Thenumber of rotors 102 of UAV 100 is not intended to be limited by anyway, as any number of rotors 102 are possible. UAV 100 may include oneor more of housing 104, flight control subsystem 106, one or moresensors 108, sensor control subsystem 110, controller interface 112, oneor more physical processors 114, electronic storage 116, user interface118, and/or other components.

Housing 104 may be configured to support, hold, and/or carry UAV 100and/or components thereof.

Flight control subsystem 106 may include one or more physical processors114, and/or other components. Sensor control subsystem 106 may includeone or more physical processors 114, and/or other components. Thedepiction in FIG. 1 of a single sensor 108 is not intended to belimiting in any way, as UAV 100 may include any number of sensors.

Flight control subsystem 106 may be configured to provide flight controlfor UAV 100. By way of non-limiting example, flight control subsystem106 may be configured to control one or more of an altitude, alongitude, a latitude, a geographical location, a heading, a speed ofUAV 100, and/or other flight controls. Operation of flight controlsubsystem 106 may be based upon flight control information. Flightcontrol information may be based upon information determined and/orobtained to control UAV 100. In some implementations, providing flightcontrol may include functions including, but not limited to, flying UAV100 in a stable manner, tracking people or objects, avoiding collisions,and/or other functions useful for autonomously flying unmanned aerialvehicles. In some implementations, flight control information may betransmitted by remote controller 202, as will be discussed in furtherdetail in reference to FIG. 2. In some implementations, flight controlinformation may be received by controller interface 112 by remotecontroller 202.

One or more sensors 108 may be configured to generate output signalsconveying information. The information may include visual information,video information, audio information, geolocation information,orientation and/or motion information, depth information, and/or otherinformation. Information captured by one or more sensors 108 may bemarked, timestamped, annotated, and/or otherwise processed such thatinformation captured by other sensors (e.g., other sensors from one ormore sensors 108 of UAV 100) may be synchronized, aligned, annotated,and/or otherwise associated therewith. In some implementations, theconveyed information may be related to one or more flight controlinformation of UAV 100. In some implementations, the conveyedinformation may be related to sensor control information. In someimplementations, the conveyed information may be related to personsand/or objects near UAV 100 and/or the user. One or more sensors 108 mayinclude one or more of an altimeter (e.g. a sonic altimeter, a radaraltimeter, and/or other types of altimeters), a barometer, amagnetometer, a pressure sensor (e.g. a static pressure sensor, adynamic pressure sensor, a pitot sensor, etc.), a thermometer, anaccelerometer, a gyroscope, an inertial measurement sensor, globalpositioning system sensors, a tilt sensor, a motion sensor, a vibrationsensor, an image sensor, a camera, an ultrasonic sensor, an infraredsensor, a light sensor, a microphone, an air speed sensor, a groundspeed sensor, an altitude sensor, medical sensors (including but notlimited to blood pressure sensor, pulse oximeter, heart rate sensor,etc.), degree-of-freedom sensors (e.g. 6-DOF and/or 9-DOF sensors), acompass, and/or other sensors. As used herein, the terms “camera” and/or“image sensor” may include any device that captures images, includingbut not limited to a single lens-based camera, a camera array, asolid-state camera, a mechanical camera, a digital camera, an imagesensor, a depth sensor, a remote sensor, a lidar, an infrared sensor, a(monochrome) complementary metal-oxide-semiconductor (CMOS) sensor, anactive pixel sensor, and/or other sensors.

Sensor control subsystem 110 may be configured to control one or moresensors 108 included within UAV 100 and/or other sensors. By way ofnon-limiting example, sensor control subsystem 110 may be configured tocontrol one or more sensors 108 through adjustments of one or more ofaperture timing, exposure, focal length, angle of view, depth of field,focus, light metering, white balance, resolution, frame rate, object offocus, capture angle, a zoom parameter, video format, a sound parameter,a compression parameter, and/or other sensor parameters. Operation ofsensor control subsystem 110 may be based upon sensor controlinformation. Sensor control information may be based upon informationand/or parameters determined and/or obtained by UAV 100 and/orcomponents thereof. In some implementations, sensor control informationmay be transmitted by remote controller 202 from FIG. 2. In someimplementations, sensor control information may be received bycontroller interface 112. In some implementations, sensor controlsubsystem 110 may be configured to control one or more image sensors 108such that the visual information captured by one or more image sensors108 may include an image of a particular object or user.

By way of non-limiting example, FIG. 2 illustrates a scene including UAV100 and user 200. Sensor 108 of UAV 100 is aimed in a direction asindicated by direction 108 x to capture visual information that includesuser 200. User 200 may include remote controller 202 (e.g., user 200 maybe holding remote controller 202, wearing remote controller 202, etc.).Remote controller 202 may be configured to transmit information to UAV100 (e.g., in a direction as indicated by direction 108 x). In someimplementations, remote controller 202 may operate as a beacon to guideUAV 100. Remote controller 202 may be configured to transmitinformation, including but not limited to flight control information,sensor control information, and/or other information. In someimplementations, remote controller 202 may be a separate, distinct,and/or physically independent component of UAV 100. In someimplementations, remote controller 202 may be a separate, distinct,and/or physically independent component from housing 104 (as shown inFIG. 1). In some implementations, remote controller 202 may beconfigured to be supported, worn, held, and/or carried by a user 200. Insome implementations, remote controller 202 may include a user interface(e.g., user interface 118 from FIG. 1) configured to receive user input.The user input may include flight control information, sensor controlinformation, and/or other information. In some implementations, the userinput may include gestures by a user, as will be discussed in furtherdetail below. In some implementations, gesture recognition component 126from FIG. 1 may be included within remote controller 202.

Referring back to FIG. 1, controller interface 112 may be configured todetermine and/or receive flight control information, sensor controlinformation, and/or other information. For example, controller interface112 may be configured to receive flight control information and/orsensor control information from a remote controller (e.g., remotecontroller 202 from FIG. 2). In some implementations, controllerinterface 112 may be included, combined, embedded, and/or otherwise forman integral part of UAV 100 and/or housing 104.

One or more physical processors 114 may be configured viacomputer-readable instructions to provide information-processingcapabilities and/or execute computer program components. The computerprogram components may include one or more of a pattern recognitioncomponent 120, a distance component 122, a flight control component 124,a gesture recognition component 126, and/or other components. Asdepicted in FIG. 1, UAV 100 may include two separate instances ofphysical processor 114 that are included in flight control subsystem 106and in sensor control subsystem 110. The number of physical processors114 is not intended to be limited in any way by the depiction in FIG. 1.The partitioning of physical processors 114 under any component of UAV100 or any control subsystem is not intended to be limited in any way bythe depiction in FIG. 1.

Pattern recognition component 120 may be configured to recognize a firstpattern associated with a performer based on the visual information. UAV100, one of processors 114 included within UAV 100, remote controller202, and/or other components configured to project a pattern may beconfigured to project the pattern on the performer. The performer mayinclude a dynamic or moving object, person, place, and/or otherperformer. The performer may be the same as user 200 of FIG. 2 and/ormay be a different person or object. In some implementations, thepattern may be a visual pattern. For example, the pattern may include abarcode, a QR code, a target, and/or other patterns, and/or combinationsthereof In some implementations, UAV 100, one of processors 114 includedwithin UAV 100, remote controller 202, and/or other componentsconfigured to project the pattern may include and/or control a componentconfigured to emit electromagnetic radiation. The electromagneticradiation may produce the pattern (e.g., a visual pattern). In someimplementations, particular information (including but not limited tocommands, requests, targets, goals, etc.) may be embedded in thepattern. For example, flight control information and/or sensor controlinformation may be entered, received, and/or confirmed through a userinterface associated with remote controller 202 of FIG. 2. Thisinformation may be converted to, embedded in, and/or otherwise processedinto one or more patterns for projection.

Pattern recognition component 120 may be configured to recognize and/orinterpret patterns, including but not limited to patterns projected byUAV 100, one of processors 114 included within UAV 100, remotecontroller 202, and/or other components configured to project thepattern. By way of non-limiting example, patterns may be interpreted asone or both of flight control information and sensor controlinformation. For example, a pattern may be used to tag the performer(e.g., object or person) such that, subsequent to being tagged, UAV 100may be configured to follow and/or track the tagged performer (e.g.,object or person). In some implementations, features attributed topattern recognition component 120 may be performed at or near user 200and/or another user. In some implementations, features attributed topattern recognition component 120 may be performed at or near UAV 100and/or components thereof. In some implementations, features attributedto pattern recognition component 120 may be performed in part at or nearuser 200 and/or another user, and in part at or near UAV 100 and/orcomponents thereof.

Pattern recognition component 120 may be configured to recognize asecond pattern associated with a performee based on the visualinformation. Pattern recognition component 120 may be configured torecognize the second pattern associated with the performee in a similarmanner as discussed above. The first pattern and the second pattern maybe different patterns and may be distinguishable by pattern recognitioncomponent 120. The performee may include a static or non-moving object,person, place, and/or other performee. While the performer has beendescribed as dynamic or moving and the performee has been described asstatic or non-moving, this is not meant to be a limitation of thisdisclosure, as the performer and the performee may both be dynamic(e.g., the performer and the performee may move at different, the same,and/or varying speeds) or may both be static.

The performer and the performee may be associated with one another. Forexample, the performer may be a skier. The skier may be marked with thefirst pattern (e.g., the first pattern is projected on the skier and/orthe skier is wearing an identifying pattern). The skier may plan toperform a particular jump at or near the end of a ski slope. Theparticular location at or near the end of the ski slope where the skiermay be performing the particular jump may be marked with the secondpattern (e.g., the second pattern is projected at the location at ornear the end of the ski slope and/or the location may be marked with anidentifying pattern). In another example, a skateboarder may be markedwith the first pattern. The skateboarder may plan to perform aparticular trick at a location 50 yards from where the skateboarderbegins skateboarding. The location at which the skateboarder plans toperform the particular trick may be marked with the second pattern.

Distance component 122 may be configured to determine a first distancebetween the first pattern and the unmanned aerial vehicle. The firstdistance may represent a distance between the first pattern (e.g., theperformer) and UAV 100. For example, distance component 122 may beconfigured to determine an altitude of UAV 100 based upon one or moresensors 108 (e.g., via an altimeter, an image sensor, a distancemeasurement sensor, etc.). Based upon the altimeter and/or othersensor/device configured to determine measurements of distance, distancecomponent 122 may be configured to determine the first distance betweenthe first pattern and the unmanned aerial vehicle. Distance component122 may be configured to determine a second distance between the secondpattern (e.g., the performee) and the unmanned aerial vehicle in asimilar manner as discussed above.

Flight control component 124 may be configured to adjust the flightcontrol of the unmanned aerial vehicle based upon the first distance andthe second distance. UAV 100 may be configured to capture a videosegment including the performer and the performee within a single fieldof view of an image capturing device of UAV 100. UAV 100 may beconfigured to maintain a particular distance from the second pattern(e.g., the performee) in preparation for the first pattern (e.g., theperformer) approaching the second pattern. UAV 100 may hover in alocation such that the performer and the performee may both besimultaneously captured within the field of view while the UAV 100remains closer to the second pattern than the first pattern (e.g., thesecond distance is less than the first distance). For example, patterns(e.g., the first pattern and the second pattern) may include informationembedded within them. The embedded information may include commands,requests, targets, and/or goals for the operation of UAV 100, includingbut not limited to flight control information and/or sensor controlinformation. For example, pattern recognition component 120 mayrecognize and interpret the first pattern on the performee as requiringa wide-angle high-resolution panning capture as the first distanceapproaches the length of the second distance (e.g., as the firstdistance decreases). Flight control component 124 may adjust the flightcontrol accordingly. In another example, pattern recognition component120 may recognize and interpret the second pattern on performee asrequiring a slow-motion video capture as the first pattern and thesecond pattern overlap. Flight control component 124 may adjust theflight control accordingly. In some implementations, information may besent from remote controller 202 to controller interface 112 by acombination of direct transmission and projected patterns that arerecognized and interpreted upon being captured by an image sensor.

Flight control component 124 may be configured to adjust the flightcontrol such that one or more of a target altitude differential, atarget cardinal direction, and/or a target distance is maintainedbetween the unmanned aerial vehicle and the first pattern based upon thefirst distance and the second distance. As discussed above, the targetaltitude differential, the target cardinal direction, and/or the targetdistance may be embedded within the first pattern and/or the secondpattern. For example, a current cardinal direction may be that UAV 100is positioned East of the first pattern and the second pattern.Subsequent to the first distance decreasing and/or increasing in length,UAV 100 may maneuver itself such that UAV 100 is positioned South of thefirst pattern and the second pattern such that the target cardinaldirection is maintained. In some implementations, flight controlcomponent 124 may be configured to adjust the flight control of UAV 100by a predetermined number of degrees around the first pattern based uponvarying lengths of the first distance and/or the second distance. Theflight control may be adjusted such that one or more of the targetaltitude differential, the target cardinal direction, and/or the targetdistance is maintained between the unmanned aerial vehicle and thesecond pattern based upon the first distance and the second distance ina similar manner as discussed above.

By way of non-limiting example, FIG. 3A illustrates a scene includingUAV 100, a first pattern 302, and second pattern 304. First pattern 302and/or second pattern 304 may be projected (via a remote controller, UAV100, or other device) and/or may be applied to the performer (e.g., theskier) and/or performee (e.g., the ski slope) in another manner (e.g., asticker, etc.). Pattern recognition component 120 (which may beintegrated in UAV 100) may recognize first pattern 302 and secondpattern 304. For example, pattern recognition component 120 may beconfigured to analyze visual information captured by image sensor 108(shown in FIG. 1). The captured visual information may include images offirst pattern 302 and second pattern 304. First pattern 302 and/orsecond pattern 304 may be interpreted as a command and/or request to UAV100 to perform an action or operation related to first pattern 302(e.g., first pattern 302 associated with the skier) and/or secondpattern 304 (e.g., second pattern 304 associated with a particularlocation on the ski slope where a particular action or performance maytake place). Distance component 122 may be configured to determine afirst distance (e.g., distance A) between UAV 100 and first pattern 302.Distance component 122 may be configured to determine a second distance(e.g., distance B) between UAV 100 and second pattern 304. UAV 100 maybe configured to capture visual information (via one or more sensors 108of FIG. 1) that includes images and/or a video segment of both firstpattern 302 and second pattern 304 in the same field of view. Whiledistance A is larger than a predefined distance, UAV 100 may beconfigured to capture visual information including both the performerand the performee in the same field of view with a wide-angle point ofview at an altitude of 20 feet. As distance A becomes shorter (e.g., isa predefined distance) and/or as distance A reaches the length ofDistance B, flight control component 124 may be configured to adjust theflight controls of UAV 100 such that UAV 100 re-positions from positionA to position B and to adjust the sensor controls such that UAV 100 maycapture the overlap of pattern 302 and pattern 304 on the East side ofthe ski slope with a high-resolution, slow-motion, close-up videosegment in order to capture the action and/or performance (e.g., a jumpat the end of the ski slope) at pattern 304 when the performer (e.g.,the skier) associated with pattern 302 collides with pattern 304. UAV100 may continue capturing the images and/or video segment as UAV 100travels from position A to position B in order to capture various anglesof the performer associated with pattern 302 approaching pattern 304during the flight path of UAV 100.

Returning to FIG. 1, gesture recognition component 126 may be configuredto recognize and/or interpret gestures from the performer, including butnot limited to user 200 of FIG. 2. In some implementations, gestures maybe recognized and/or interpreted by capturing depth information thatincludes the performer and analyzing patterns, positions, and/ormovements of the performer, or parts of the body of the performer. Byway of non-limiting example, gesture recognition component 126 may beconfigured to determine and/or recognize one or more patterns,positions, and/or movements of the hands of the performer. In someimplementations, individual particular patterns, positions, and/ormovements of the hands of the performer may correspond to particularcommands and/or requests to UAV 100 to perform an action or operation.Performance of an action or operation by UAV 100 and/or componentsthereof may correspond to one or both of flight control information andsensor control information. Performance of an action or operation by UAV100 and/or components thereof may be implemented by one or more offlight control subsystem 106, sensor control system 110, and/or othercomponents of UAV 100. By way of non-limiting example, gestures may beinterpreted as one or both of flight control information and sensorcontrol information. In some implementations, features attributed togesture recognition component 126 may be performed at or near the firstpattern and/or the second pattern. In some implementations, featuresattributed to gesture recognition component 126 may be performed at ornear UAV 100 and/or components thereof In some implementations, featuresattributed to gesture recognition component 126 may be performed in partat or near the first pattern and/or the second pattern, and in part ator near UAV 100 and/or components thereof.

One or more gestures associated with the performer may be interpreted toadjust one or more of the target altitude differential, the targetcardinal direction, and/or the target distance between the unmannedaerial vehicle and the first pattern. For example, a gesture byperformer (e.g., a skateboarder) crouching low to his or her skateboardand/or grabbing his or her skateboard may indicate a command and/orrequest for UAV 100 to decrease its altitude and/or zoom into theperformer, as the gesture may indicate that an important trick that theperformer is about to perform is approaching. Such a command and/orrequest may correspond to flight control information that may be used byflight control subsystem 106 to control the position and/or movement ofUAV 100.

One or more gestures associated with the performer may be interpreted toadjust one or more of the target altitude differential, the targetcardinal direction, and/or the target distance between the unmannedaerial vehicle and the second pattern. For example, a gesture by theperformer of moving both hands from being outstretched and vertical tohorizontal and pointing to the second pattern may indicate a commandand/or request for UAV 100 to decrease the second distance such that UAV100 is closer to the second pattern. A gesture by the performer ofaiming, poking, and/or thrusting toward an object or person may indicatea command and/or request for UAV 100 to follow and/or track thatparticular object and/or person instead of the performer. Gesturesdescribed in this disclosure are merely exemplary and not intended to belimiting in any way.

In some implementations, gestures may be accompanied by other types ofuser input, including but not limited to an auditory command, amanipulation of a user interface element (e.g., a button or switch), atactile action (e.g. tapping a remote controller twice to prime thesystem for recognizing a gesture), and/or other types of user input. Asused in this disclosure, gestures, interpretations, commands, andrequests are types of information that may be transmitted by remotecontroller 202, received by controller interface 112, and/or processedby one or more control subsystems and/or computer program components inother ways.

In some implementations, one or more gestures may be interpreted toadjust the zooming factor of sensor 108 (e.g., an image sensor) tocapture a wider shot or a narrower shot of the first pattern and/or thesecond pattern. Such a command and/or request to adjust the zoomingfactor may correspond to sensor control information that may be used bysensor control subsystem 110 to control the operation of one or moresensors 108.

One or more processors 114 may be configured to mark the video segmentat a point in time in which a third distance between the first patternand the second pattern is a predefined distance. The third distance mayrepresent a distance between the first pattern and the second pattern.For example, as described above, the first pattern may be associatedwith the performer (e.g., a dynamic and/or moving object or person). Thethird distance may vary as the first pattern approaches the secondpattern associated with the performee (e.g., a static and/or non-movingobject or person). For example, as a skier approaches the particularlocation on a ski slope where the skier may perform a jump, the thirddistance may decrease in length. One or more processors 114 may tagand/or mark the visual information (e.g., captured via one or moresensors 108) while capturing the visual information (e.g., one or moreprocessors 114 may tag and/or mark the video segment in or nearreal-time) at the point in time in which the third distance is thepredefined distance (e.g., when the first pattern and the second patternare a predefined distance apart). The predefined distance may be amanually entered predefined distance and/or may be preconfigured by oneor more processors 114. The predefined distance may be determined basedupon the performer and/or performee (e.g., the action of which theperformer is performing, etc.). The tag and/or mark may indicate thepoint in time during the video segment in which an event may take placein a relatively short time period after the tag and/or mark. Duringplayback of the video segment, a user may quickly jump to the tag and/ormark within the video segment to locate the event within the videosegment. The event may be the overlap of the first pattern and thesecond pattern (e.g., the point in which the performer reaches theperformee). The third distance may indicate that the first pattern andthe second pattern may overlap in a relatively short time period afterthe point in time in which the video segment is tagged and/or marked.

One or more processors 114 may be configured to mark the video segmentat a point in time in which the first pattern and the second patternoverlap. This may be in addition to the tag and/or mark associated withthe third distance, as discussed above, or may be the only tag and/ormark within the captured video segment. The tag and/or mark may indicatethe point in time during the video segment in which the event may takeplace. During playback of the video segment, the user may quickly jumpto the tag and/or mark within the video segment to locate the eventwithin the video segment. The event may be the overlap of the firstpattern and the second pattern (e.g., the point in which the performerreaches the performee).

In some implementations, one or more gestures may be interpreted asmeta-information regarding the information being captured by one or moresensors 108. For example, a particular gesture may indicate to one ormore processors 114 to mark, tag, timestamp, annotate, and/or otherwiseprocess visual information captured by one or more sensors 108 in ornear real-time. In some implementations, a particular gesture may beused to synchronize, align, annotate, and/or otherwise associatecaptured visual information with a particular person, object, moment,and/or duration/event.

Continuing the example above from FIG. 3A, FIG. 3B illustrates one ormore processors (not shown in FIG. 3B) marking the captured videosegment at tag 306 in or near real-time while capturing the videosegment of the performer and the performee. For example, UAV 100 maymark and/or tag the video segment when first pattern 302 is a predefineddistance apart from second pattern 304 (e.g., as shown in FIG. 3B, UAV100 may mark the video segment at 2 minutes, as indicated by tag 306).UAV 100 may mark and/or tag the video segment at the point in time whenfirst pattern 302 and second pattern 304 overlap. UAV 100 may markand/or tag the video segment if gesture recognition component 126recognizes a particular gesture by the performer associated with pattern302 and/or another user indicating an action to mark and/or tag thevideo segment while capturing the visual information at that point intime. In this manner, a user may jump to tag 306 to quickly view theaction and/or performance that may take place when first pattern 302 andsecond pattern 304 overlap and/or collide.

The depiction in FIG. 1 of flight control subsystem 106 including and/orexecuting distance component 122, flight control component 124, and/orgesture recognition component 126 is not intended to be limiting in anyway. In some implementations, distance component 122, flight controlcomponent 124, and/or gesture recognition component 126 may be includedin and/or executed by sensor control subsystem 110 and/or any othercomponent of UAV 100. Similarly, the depiction in FIG. 1 of sensorcontrol subsystem 110 including and/or executing pattern recognitioncomponent 120 is not intended to be limiting in any way. In someimplementations, pattern recognition component 120 may be included inand/or executed by flight control subsystem 106 and/or any othercomponent of UAV 100. The location or depiction of a particular computerprogram component in FIG. 1 is merely exemplary, and not intended to belimiting in any way.

One or more physical processors 114 may include one or more of a digitalprocessor, an analog processor, a digital circuit designed to processinformation, a central processing unit, a graphics processing unit, ananalog circuit designed to process information, and/or other mechanismsfor electronically processing information. In some implementations,physical processor 114 may include a plurality of processing units.

It should be appreciated that although components 120, 122, 124, and 126are illustrated in FIG. 1 as being located and/or co-located within aparticular component of UAV 10, in implementations in which physicalprocessor 114 includes multiple processing units, one or more ofcomponents 120, 122, 124, and/or 126 may be located remotely from theother components. The description of the functionality provided by thedifferent components 120, 122, 124, and/or 126 described herein is forillustrative purposes, and is not intended to be limiting, as any ofcomponents 120, 122, 124, and/or 126 may provide more or lessfunctionality than is described. For example, one or more of components120, 122, 124, and/or 126 may be eliminated, and some or all of itsfunctionality may be incorporated, shared, integrated into, and/orotherwise provided by other ones of components 120, 122, 124, and/or126. Note that physical processor 114 may be configured to execute oneor more additional components that may perform some or all of thefunctionality attributed below to one of components 120, 122, 124,and/or 126.

Electronic storage 116 in FIG. 1 may comprise electronic storage mediathat electronically stores information. The electronic storage media ofelectronic storage 116 may include one or both of system storage that isprovided integrally (i.e., substantially non-removable) with UAV 100and/or removable storage that is connectable to UAV 100 via, forexample, a port (e.g., a USB port, a Firewire port, etc.) or a drive(e.g., a disk drive, etc.). Electronic storage 116 may include one ormore of optically readable storage media (e.g., optical disks, etc.),magnetically readable storage media (e.g., magnetic tape, magnetic harddrive, floppy drive, etc.), electrical charge-based storage media (e.g.,EPROM, EEPROM, RAM, etc.), solid-state storage media (e.g., flash drive,etc.), and/or other electronically readable storage media. Electronicstorage 116 may store software algorithms, information determined byphysical processor 114 or any computer program components, informationreceived via user interface 118, and/or other information that enablesUAV 100 to function properly. For example, electronic storage 116 maystore captured visual information (as discussed elsewhere herein),and/or other information. Electronic storage 116 may be a separatecomponent within UAV 100, or electronic storage 116 may be providedintegrally with one or more other components of UAV 100 (e.g., physicalprocessor 114).

User interface 118 of UAV 100 in FIG. 1 may be configured to provide aninterface between UAV 100 and a user (e.g. a remote user using agraphical user interface) through which the user can provide informationto and receive information from UAV 100. This may enable data, results,and/or instructions and any other communicable items, collectivelyreferred to as “information,” to be communicated between the user andUAV 100. Examples of interface devices suitable for inclusion in userinterface 118 include a keypad, buttons, switches, a keyboard, knobs,levers, a display screen, a touch screen, speakers, a microphone, anindicator light, an audible alarm, and a printer. Information may beprovided to a user by user interface 118 in the form of auditorysignals, visual signals, tactile signals, and/or other sensory signals.

It is to be understood that other communication techniques, eitherhard-wired or wireless, are also contemplated herein as user interface118. For example, in one embodiment, user interface 118 may beintegrated with a removable storage interface provided by electronicstorage 116. In this example, information is loaded into UAV 100 fromremovable storage (e.g., a smart card, a flash drive, a removable disk,etc.) that enables the user(s) to customize UAV 100. Other exemplaryinput devices and techniques adapted for use with UAV 100 as userinterface 118 may include, but are not limited to, an RS-232 port, RFlink, an IR link, modem (telephone, cable, Ethernet, internet or other).In short, any technique for communicating information with UAV 100 maybe contemplated as user interface 118.

FIG. 4 illustrates a method 400 for adjusting flight control of anunmanned aerial vehicle. The operations of method 400 presented beloware intended to be illustrative. In certain implementations, method 400may be accomplished with one or more additional operations notdescribed, and/or without one or more of the operations discussed.Additionally, the order in which the operations of method 400 areillustrated in FIG. 4 and described below is not intended to belimiting.

In certain implementations, method 400 may be implemented in one or moreprocessing devices (e.g., a digital processor, an analog processor, adigital circuit designed to process information, an analog circuitdesigned to process information, and/or other mechanisms forelectronically processing information). The one or more processingdevices may include one or more devices executing some or all of theoperations of method 400 in response to instructions storedelectronically on an electronic storage medium. The one or moreprocessing devices may include one or more devices configured throughhardware, firmware, and/or software to be specifically designed forexecution of one or more of the operations of method 400.

Regarding method 400, at an operation 402, a first pattern associatedwith a performer may be recognized based upon visual information. Insome embodiments, operation 402 may be performed by a patternrecognition component that is the same as or similar to patternrecognition component 120 (shown in FIG. 1 and described herein).

At an operation 404, a first distance between the first pattern and theunmanned aerial vehicle may be determined. In some embodiments,operation 402 may be performed by a distance component that is the sameas or similar to distance component 122 (shown in FIG. 1 and describedherein).

At an operation 406, a second pattern associated with a performee may berecognized based upon visual information. In some embodiments, operation406 may be performed by a pattern recognition component that is the sameas or similar to pattern recognition component 120 (shown in FIG. 1 anddescribed herein).

At an operation 408, a second distance between the second pattern andthe unmanned aerial vehicle may be determined. In some embodiments,operation 408 may be performed by a distance component that is the sameas or similar to distance component 122 (shown in FIG. 1 and describedherein).

At an operation 410, the flight control may be adjusted based upon thefirst distance and the second distance. In some embodiments, operation410 is performed by a flight control component the same as or similar toflight control component 124 (shown in FIG. 1 and described herein).

Although the invention has been described in detail for the purpose ofillustration based on what is currently considered to be the mostpractical and preferred implementations, it is to be understood thatsuch detail is solely for that purpose and that the invention is notlimited to the disclosed implementations, but, on the contrary, isintended to cover modifications and equivalent arrangements that arewithin the spirit and scope of the appended claims. For example, it isto be understood that the present invention contemplates that, to theextent possible, one or more features of any embodiment can be combinedwith one or more features of any other embodiment.

What is claimed is:
 1. A system for adjusting flight control of anunmanned aerial vehicle, the system comprising: an image sensor carriedby the unmanned aerial vehicle, the image sensor configured to generateoutput signals conveying visual information; and one or more physicalprocessors configured by computer-readable instructions to: provide theflight control for the unmanned aerial vehicle such that, responsive toa first object approaching a second object, the unmanned aerial vehicleis positioned for the image sensor to capture an image including thefirst and second objects, wherein the flight control is provided suchthat a target altitude differential and a target distance are maintainedbetween the unmanned aerial vehicle and at least one of the first andsecond objects; and capture the image including the first and secondobjects.
 2. The system of claim 1, wherein the one or more physicalprocessors are configured to: determine a first position of the firstobject based on the visual information; and determine a second positionof the second object based on the visual information.
 3. The system ofclaim 2, wherein the flight control is provided such that any of thetarget altitude differential, a target cardinal direction, and thetarget distance is maintained between the unmanned aerial vehicle andthe second object based on the first position and the second position.4. The system of claim 1, wherein providing the flight control includescontrolling any of an altitude, a longitude, a latitude, a geographicallocation, a heading, and a speed of the unmanned aerial vehicle.
 5. Thesystem of claim 1, wherein the image is a video frame of a videosegment.
 6. The system of claim 5, wherein the one or more physicalprocessors are configured to: mark the video segment at a point in timein which the first and second objects are separated by a predefineddistance.
 7. The system of claim 5, wherein the one or more physicalprocessors are configured to: mark the video segment at a point in timein which the first and second objects overlap.
 8. The system of claim 1,wherein the flight control is provided such that the unmanned aerialvehicle being positioned for the image sensor to capture the imageincludes repositioning the unmanned aerial vehicle from an originalposition to a new position.
 9. The system of claim 1, wherein the flightcontrol is provided such that any of the target altitude differential, atarget cardinal direction, and the target distance is adjusted betweenthe unmanned aerial vehicle and the first object based on one or moregestures associated with the first object.
 10. The system of claim 1,wherein the flight control is provided such that any of the targetaltitude differential, a target cardinal direction, and the targetdistance is adjusted between the unmanned aerial vehicle and the secondobject based on one or more gestures associated with the first object.11. A method for adjusting flight control of an unmanned aerial vehicle,the method performed by a computing system including one or morephysical processors, the method comprising: determining a first positionof a first object based on visual information; determining a secondposition of a second object based on the visual information; providingthe flight control for the unmanned aerial vehicle such that, responsiveto a first object approaching a second object, the unmanned aerialvehicle is positioned to capture an image including the first and secondobjects, wherein the flight control is provided such that a targetaltitude differential and a target distance are maintained between theunmanned aerial vehicle and at least one of the first and secondobjects; and capturing the image including the first and second objects.12. The method of claim 11, wherein providing the flight controlincludes controlling any of an altitude, a longitude, a latitude, ageographical location, a heading, and a speed of the unmanned aerialvehicle.
 13. The method of claim 11, wherein the image is a video frameof a video segment.
 14. The method of claim 13, further comprising:marking the video segment at a point in time in which the first andsecond objects are separated by a predefined distance.
 15. The method ofclaim 13, further comprising: marking the video segment at a point intime in which the first and second objects overlap.
 16. The method ofclaim 11, wherein the flight control is provided such that the unmannedaerial vehicle being positioned to capture the image includesrepositioning the unmanned aerial vehicle from an original position to anew position.
 17. The method of claim 11, wherein the flight control isprovided such that any of the target altitude differential, a targetcardinal direction, and the target distance is adjusted between theunmanned aerial vehicle and the first object based on one or moregestures associated with the first object.
 18. The method of claim 11,wherein the flight control is provided such that any of the targetaltitude differential, a target cardinal direction, and the targetdistance is adjusted between the unmanned aerial vehicle and the secondobject based on one or more gestures associated with the first object.19. The method of claim 11, wherein the flight control is provided suchthat any of the target altitude differential, a target cardinaldirection, and the target distance is maintained between the unmannedaerial vehicle and the second object based on the first position and thesecond position.
 20. A method comprising: providing flight control foran unmanned aerial vehicle such that, responsive to a first objectapproaching a second object, the unmanned aerial vehicle is positionedto capture content including the first and second objects, wherein theflight control is provided such that a target altitude differential anda target distance are maintained between the unmanned aerial vehicle andat least one of the first and second objects; and capturing the contentincluding the first and second objects.